/*
Autor: Jonathan Vindas Abarca
Fecha: 13/07/2012
Descripción: Este archivo contiene funciones javascript para la vista listarLineaDetalle.php, 
hace uso de controlesDinamicos.js para crear etiquetas HTML dinamicamente.
Bitacora de modificaciones:
<
    Autor: 
    Fecha: 
    Descripción: 
>
*/
function editarFilaLineaDetalle(tr){    
    var tienePermiso=obtenerPermisoGenerico('obtenerPermisoGenerico','modificarLineaDetalle');
    if(tienePermiso==1)
    {
    var tds=tr.getElementsByTagName("td"); 
    var cantidadArticulo=tds[3].innerHTML;
    var cantidadAnterior=cantidadArticulo;
    tds[3].innerHTML='';    
    var txtFecha=crearTextBox("txtCantidadSolicitada","text",cantidadArticulo,"100px");    
    tds[3].appendChild(txtFecha);                   
    var codigoOrden=tds[0].innerHTML;           
    var codigoArticulo=tds[1].innerHTML;               
    var codigoGuia=document.getElementById("hddCodigoGuia").value;
    var codigoEmbalaje=document.getElementById("hddCodigoEmbalaje").value;
    var numeroLinea=document.getElementById("hddNumeroLinea").value;
    var nuevaCantidadArticulo=tds[3].getElementsByTagName("input");       
    var cantidadModificada=nuevaCantidadArticulo[0].value;
    var cantidadMaxima=tds[4].innerHTML;
    //toString("codigoOrden",codigoOrden);    
    //se elimina el link e imagen de editarGuia
    tds[5].removeChild(tds[5].lastChild);        
    //se crea la imagen
    var nuevaImg=document.createElement("img");
    nuevaImg.src='../vistas/Imagenes/Guardar.png';
    //se crea el link
    var linkAgregar = document.createElement("a");             
    linkAgregar.id="linkBotonModificarGuia";    
    linkAgregar.appendChild(nuevaImg);
    tds[5].appendChild(linkAgregar);
    linkAgregar.onclick = function () {     
        guardarLineaDetalleModificado(linkAgregar,codigoOrden, codigoArticulo, codigoGuia, codigoEmbalaje, cantidadMaxima, cantidadAnterior, numeroLinea);
    }
    }
    else
    {
        alert('Su usuario no posee permisos para esta accion.');
    }
}

function guardarLineaDetalleModificado(filaLink,codigoOrden, codigoArticulo, codigoGuia, codigoEmbalaje, cantidadMaxima, cantidadAnterior, numeroLinea){        
    var maximo=parseInt(cantidadMaxima)+parseInt(cantidadAnterior); 
    var cantidadModificada=document.getElementById("txtCantidadSolicitada").value;
    toString("maximo",maximo);
    //toString("cantidadModificada",cantidadModificada);
    if(maximo<cantidadModificada){
        alert("La cantidad solicitada sobrepasa al pedido")
    }
    else{
    filaLink.href="../vistas/paginaPrincipal.php?accion=modificarLineaDetalles&controlador=lineaDetalle&codigoOrden="+codigoOrden+"&codigoArticulo="+codigoArticulo +"&codigoGuia="+codigoGuia+"&codigoEmbalaje="+codigoEmbalaje+"&cantidad="+cantidadModificada+"&numeroLinea="+numeroLinea;
    }
    /*
    var link=document.getElementById("linkBotonModificarGuia");        
    var txtBodegaRemitente=document.getElementById("cmbBodegaRemitente").value;    
    var txtBodegaDestino=document.getElementById("cmbBodegaDestino").value;        
    var txtTransportista=document.getElementById("cmbTransportista").value;    
    var txtFecha=document.getElementById("txtFecha").value;            
    console.log("txtFecha: "+txtFecha);        
    filaLink.href="../vistas/paginaPrincipal.php?accion=modificarGuias&controlador=guias&codigoGuia="+codigoGuia+"&txtBodegaRemitente="+txtBodegaRemitente+"&txtBodegaDestino="+txtBodegaDestino+"&txtTransportista="+txtTransportista+"&txtFecha="+txtFecha+"&montoPagar="+montoPagar;*/
}

function validarCantidadSolicitada(tr){
    document.getElementById("mensajeValidacion").style.display="none";
    var tds=tr.getElementsByTagName("td");       
    var cantidadOrden=tds[3].innerHTML;
    var campoCantidad=tds[5].getElementsByTagName("input");
    var solicitada=campoCantidad[0].value;    
    if(cantidadOrden<solicitada){        
        $('#mensajeValidacion').html("La cantidad digitada es mayor a la disponible");
        document.getElementById("mensajeValidacion").style.display="";
    }
}

function guardarLineaDetalle(tr){
    var tienePermiso=obtenerPermisoGenerico('obtenerPermisoGenerico','agregarLineaDetalle');
    if(tienePermiso==1)
    {
    var tds = tr.getElementsByTagName("td");
    var codigoOrden  = tds[0].innerHTML;   
    var codigoArticulo  = tds[1].innerHTML;   
    var disponible  = tds[4].innerHTML;   
    var convertirDisponible=parseInt(disponible);
    
    var codigoGuia=document.getElementById("hddCodigoGuia").value;
    var codigoEmbalaje=document.getElementById("hddCodigoEmbalaje").value;
    var numeroLinea=document.getElementById("hddNumeroLinea").value;
    var campoCantidad = tds[5].getElementsByTagName("input");    
    var cantidadSolicitada=campoCantidad[0].value;
    
    //var link=document.getElementById("linkBotonAgregarLineaDetalle");     
    var link=tds[6].getElementsByTagName("a");        
    if(cantidadSolicitada>convertirDisponible){
            alert("La cantidad solicitada sobrepasa al pedido")
    }else{
     link[0].href="../vistas/paginaPrincipal.php?accion=agregarLineaDetalleDesdeTabla&controlador=lineaDetalle&codigoOrden="+codigoOrden+"&codigoArticulo="+codigoArticulo+"&codigoGuia="+codigoGuia+"&codigoEmbalaje="+codigoEmbalaje+"&cantidadSolicitada="+cantidadSolicitada+"&numeroLinea="+numeroLinea;                  
    }    
    toString("codigoOrden",codigoOrden);
    toString("codigoArticulo",codigoArticulo);
    toString("codigoGuia",codigoGuia);
    toString("codigoEmbalaje",codigoEmbalaje);
    toString("cantidadSolicitada",cantidadSolicitada);
    toString("longitud de link",link.length);
//    link.href="../vistas/paginaPrincipal.php?accion=agregarLineaDetalleDesdeTabla&controlador=lineaDetalle&codigoOrden="+codigoOrden+"&codigoArticulo="+codigoArticulo+"&codigoGuia="+codigoGuia+"&codigoEmbalaje="+codigoEmbalaje+"&cantidadSolicitada="+cantidadSolicitada;           
    }
    else
    {
        alert('Su usuario no posee permisos para esta accion.');
    }
}

function mostrarOrdenes(){
    var codigoCompania = $("#cmbCompania").val();
    var codigoDivision = $("#cmbDivision").val();
    var codigoOrden = $("#txtOrdenes").val();
    toString("CodigoCompañia", codigoCompania);
    toString("codigoDivision", codigoDivision);
    toString("codigoOrden", codigoOrden);
    var accion="mostrarOrdenCompraCandidatasAutoCompletar";
    $.get("../controladores/ajaxControlador.php", {codigoOrdenCompra:codigoOrden, codigoCompania: codigoCompania,codigoDivision:codigoDivision ,accion:accion },
                function(resultado)
                {
                    if(resultado == false)
                    {				
                        alert("Sin Ordenes Candidatas");                         
                    }
                    else
                    {				
                        $('#mostrarOrdenesCandidatas').append(resultado);                                  
                        document.getElementById("mostrarOrdenesCandidatas").style.display="";
                        //$('#tabla_lista_paises').dataTable( { //CONVERTIMOS NUESTRO LISTADO DE LA FORMA DEL JQUERY.DATATABLES- PASAMOS EL ID DE LA TABLA
                        //"sPaginationType": "full_numbers" //DAMOS FORMATO A LA PAGINACION(NUMEROS)
                        //} );
                    }
                }
            
            );
}

        function activar(tr)
	 {
	 var tds = tr.getElementsByTagName("td");
		var campoCantidad = tds[6].getElementsByTagName("input");
			//campoCantidad[0].disabled=false;
                        if(campoCantidad[0].disabled==false)
                        {
                            campoCantidad[0].disabled=true;
                            campoCantidad[0].value="";               
                        }
                        else
                        {
                            campoCantidad[0].disabled=false;
                            campoCantidad[0].value=tds[5].innerHTML;                                         
                        }			
			var codigoGuia=document.getElementById("hddCodigoGuia").value;
			var codigoEmbalaje=document.getElementById("hddCodigoEmbalaje").value;
			var numeroLinea=document.getElementById("hddNumeroLinea").value;
			/*Los campos escondidos de la tabla */
			document.getElementById("codigoEmbalajeAgregarLineaDetalle").value=codigoEmbalaje;
			document.getElementById("codigoGuiaAgregarLineaDetalle").value=codigoGuia;
			document.getElementById("numeroLineaAgregarLineaDetalle").value=numeroLinea;
			toString("codigoEmbalajeAgregarLineaDetalle",document.getElementById("codigoEmbalajeAgregarLineaDetalle").value);
			toString("codigoGuia",codigoGuia);			
                        /*Guardamos los articulos*/                        
                        //linkAgregarArticulosGuia.href="../vistas/paginaPrincipal.php?accion=agregarLineaDetalleDesdeTabla&controlador=lineaDetalle&codigoOrden="+codigoOrden+"&codigoArticulo="+codigoArticulo+"&codigoGuia="+codigoGuia+"&codigoEmbalaje="+codigoEmbalaje+"&cantidadSolicitada="+cantidadSolicitada+"&numeroLinea="+numeroLinea;                                                                  
	 }
         
         function probarOnSubmit()
         {
             var formAgregarArticulosGuia=document.getElementById("formAgregarArticulosGuia");
             var tbody = document.getElementById("cuerpoTablaArticuloCandidato");
             var filasBody=tbody.getElementsByTagName("tr");                     
             var mensaje="probarOnSubmit";
             toString("mensaje",mensaje);
             //var varCheck = document.getElementById("all").checked;        
             var checks=document.getElementsByTagName("input");
             var i;
             var j;
             var chequeados=false;             
             var incompletos=false;
             var tienePermiso=obtenerPermisoGenerico('obtenerPermisoGenerico','enviarGuardarLineasDetalles');
             for (i=0; i<checks.length; i++){
             if(checks[i].type == "checkbox" && checks[i].checked == true)             
             {
                 chequeados=true;             
             }            
             }
             //se verifica que los text no van vacios              
             toString("filas de tabla",filasBody.length);
             for (j=0; j<filasBody.length-1; j++)
             {
                    var filaSeleccionadaCero=filasBody[j].getElementsByTagName("td");                    
                    var campoCantidadCero = filaSeleccionadaCero[6].getElementsByTagName("input");
                    //var valorFilaCero=campoCantidadCero[0].value;
                    if(campoCantidadCero[0].disabled==false && campoCantidadCero[0].value=="")
                    {                         
                        incompletos=true;
                    }                    
                }
             toString("incompletos",incompletos);
             toString("chequeados",chequeados);
             //00001245_202
             if(chequeados==false){

                 alert("Por favor seleccione al menos un artículo.");
                 //chequeados=false;
             }
             if(incompletos==true){
                 alert("Por favor complete los campos de texto.");
                 //incompletos=false;
             }
              if(tienePermiso==0)
              {
                  alert("Su usuario no posee permisos para esta accion");
              }  
             if(incompletos==false && chequeados==true && tienePermiso==1){
                 toString("mensaje","si se puede agregar no hay campos vacios ni checks sin seleccionar");
                 formAgregarArticulosGuia.action="../vistas/paginaPrincipal.php?accion=enviarGuardarLineasDetalles&controlador=lineaDetalle";                  
             }             
         }
	 
	 function verificarCantidad(tr){             
		var tds = tr.getElementsByTagName("td");
		var campoCantidad = tds[6].getElementsByTagName("input");
		var mensaje="verificar cantidad";
             toString("mensaje",mensaje);
                var cantidadDisponible=tds[5].innerHTML;
                var convertir=parseInt(cantidadDisponible);
                //alert(convertir);
                toString("cantidadDisponible",cantidadDisponible);
                toString("campoCantidad",campoCantidad[0].value);
                if(campoCantidad[0].value>convertir){
                    alert("La cantidad digitada sobrepasa el pedido");
                    campoCantidad[0].value="";
                }
              
         }
         
   function checkAll() 
   {
       		var codigoGuia=document.getElementById("hddCodigoGuia").value;
			var codigoEmbalaje=document.getElementById("hddCodigoEmbalaje").value;
			var numeroLinea=document.getElementById("hddNumeroLinea").value;
			/*Los campos escondidos de la tabla */
			document.getElementById("codigoEmbalajeAgregarLineaDetalle").value=codigoEmbalaje;
			document.getElementById("codigoGuiaAgregarLineaDetalle").value=codigoGuia;
			document.getElementById("numeroLineaAgregarLineaDetalle").value=numeroLinea;
	
        //var nodoCheck = document.getElementsByTagName("input");
        var nodoCheck = document.getElementsByTagName("input");
        var varCheck = document.getElementById("all").checked;        
        var tbody = document.getElementById("cuerpoTablaArticuloCandidato");
        var filasBody=tbody.getElementsByTagName("tr");        
        toString("filasBody",filasBody.length);
        toString("nodoCheck",nodoCheck.length);
        var i;
        var j;
        for (i=0; i<nodoCheck.length; i++){
            if (nodoCheck[i].type == "checkbox" && nodoCheck[i].name != "all" && nodoCheck[i].disabled == false) {
                nodoCheck[i].checked = varCheck;
                for (j=0; j<filasBody.length-1; j++)
                {
                    var filaSeleccionada=filasBody[j].getElementsByTagName("td");
                    var cantidadDisponible=filaSeleccionada[5].innerHTML;
                    toString("cantidadDisponible",cantidadDisponible);
                    var campoCantidad = filaSeleccionada[6].getElementsByTagName("input");
                    if(varCheck==true)
                    {                                                                    
                        campoCantidad[0].disabled=false;
                        campoCantidad[0].value=cantidadDisponible;
                    }
                    else
                    {
                        campoCantidad[0].disabled=true;
                        campoCantidad[0].value="";
                    }
                }
            }            
        }
        //00001356_238
    }
